package com.my.study.structures.tree;

/**
 * @author Carlos
 * @version 1.0
 * @Description 二叉树
 *
 * 前中后序遍历
 *
 * @date 2021/8/5 23:00
 **/
public class BinaryTree {
    private HeroNode root;

    public void setRoot(HeroNode root) {
        this.root = root;
    }

    /**
     * 递归删除
     * @param no
     */
    public void delNode(int no) {
        if (root != null) {
            if (root.getNo() == no) {
                root =null;
            } else {
                root.delNode(no);
            }
        } else {
            System.out.println("这是空树，不能删除！");
        }
    }


    public void prdOrder() {
        if (this.root != null) {
            this.root.preOrder();
        } else {
            System.out.println("二叉树为空，无法遍历！！");
        }
    }

    public void infixOrder() {
        if (this.root != null) {
            this.root.infixOrder();
        } else {
            System.out.println("二叉树为空，无法遍历！！");
        }
    }

    public void postOrder() {
        if (this.root != null) {
            this.root.postOrder();
        } else {
            System.out.println("二叉树为空，无法遍历！！");
        }
    }

}
